// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'
import BaseClass from '@api/iot/model/ProductDto'
import API from './API'

const WORD = 'IOT设备'

const TAB = [
  ['property', '实例属性'],
  ['ability', '设备能力'],
  ['log', '日志管理'],
]

// ============================== 导出状态集 ============================== //

export default {
  // —————————————————————————————— 常量状态 —————————————————————————————— //

  /**
   * 接口
   */
  API: {
    MENU: ['__详情__', WORD], // 菜单
    ...API,
  },

  /**
   * 映射
   */
  MAP: {
    WORD, // 词语

    // 必须的字段，有值才会显示弹窗
    REQUIRED_KEY: 'id',

    // 弹窗属性
    MODEL_PROPS: {
      title: `${WORD}详情`,
      large: true,
      bgClose: false,
      noConfirm: true,
    },
  },

  /**
   * 字典
   */
  DICT: {
    /**
     * 页签
     */
    TAB,
  },

  /**
   * 首要开关
   *
   * 1. 初始化完成时调用
   * 2. 提交后刷新时调用
   */
  MAIN_START: 'startOne', // 'startInfo' 或 'startList' 或 'startOne' 或 ''

  /**
   * 初始单项
   *
   * 1. 初始存在，才能响应
   * 2. setOne() 合并时使用
   * 3. openAdd() 新增时使用
   */
  INIT_ONE: CORE.initObj(BaseClass, {
    content: [], // 设备属性列表
    productCode: '', // 产品编号
    deviceTypeCode: '', // 设备类型编号
    tab: TAB[0][0],
  }),
}
